﻿namespace TestTool.HttpTransport
{
    using System;
    using System.ServiceModel;
    using System.ServiceModel.Channels;

    internal class HttpRequestChannelListener : ChannelListenerBase, IChannelListener<IReplyChannel>, IChannelListener, ICommunicationObject
    {
        private System.Uri _uri;

        public HttpRequestChannelListener(TransportBindingElement bindingElement, BindingContext context)
        {
            this._uri = context.ListenUriBaseAddress;
        }

        public IReplyChannel AcceptChannel()
        {
            throw new NotImplementedException();
        }

        public IReplyChannel AcceptChannel(TimeSpan timeout)
        {
            throw new NotImplementedException();
        }

        public IAsyncResult BeginAcceptChannel(AsyncCallback callback, object state)
        {
            throw new NotImplementedException();
        }

        public IAsyncResult BeginAcceptChannel(TimeSpan timeout, AsyncCallback callback, object state)
        {
            throw new NotImplementedException();
        }

        public IReplyChannel EndAcceptChannel(IAsyncResult result)
        {
            throw new NotImplementedException();
        }

        protected override void OnAbort()
        {
            throw new NotImplementedException();
        }

        protected override IAsyncResult OnBeginClose(TimeSpan timeout, AsyncCallback callback, object state)
        {
            throw new NotImplementedException();
        }

        protected override IAsyncResult OnBeginOpen(TimeSpan timeout, AsyncCallback callback, object state)
        {
            throw new NotImplementedException();
        }

        protected override IAsyncResult OnBeginWaitForChannel(TimeSpan timeout, AsyncCallback callback, object state)
        {
            throw new NotImplementedException();
        }

        protected override void OnClose(TimeSpan timeout)
        {
            throw new NotImplementedException();
        }

        protected override void OnEndClose(IAsyncResult result)
        {
            throw new NotImplementedException();
        }

        protected override void OnEndOpen(IAsyncResult result)
        {
            throw new NotImplementedException();
        }

        protected override bool OnEndWaitForChannel(IAsyncResult result)
        {
            throw new NotImplementedException();
        }

        protected override void OnOpen(TimeSpan timeout)
        {
            throw new NotImplementedException();
        }

        protected override bool OnWaitForChannel(TimeSpan timeout)
        {
            throw new NotImplementedException();
        }

        IAsyncResult IChannelListener.BeginWaitForChannel(TimeSpan timeout, AsyncCallback callback, object state)
        {
            throw new NotImplementedException();
        }

        bool IChannelListener.EndWaitForChannel(IAsyncResult result)
        {
            throw new NotImplementedException();
        }

        T IChannelListener.GetProperty<T>() //where T: class
        {
            throw new NotImplementedException();
        }

        bool IChannelListener.WaitForChannel(TimeSpan timeout)
        {
            throw new NotImplementedException();
        }

        System.Uri IChannelListener.Uri
        {
            get
            {
                return this._uri;
            }
        }

        public override System.Uri Uri
        {
            get
            {
                throw new NotImplementedException();
            }
        }
    }
}

